package com_9;

import java.io.*;
import java.net.Socket;

public class SocketThread implements Runnable {//定义一个类实现Ranable接口，
    private  Socket sc;//将socket作为变量
    public SocketThread(Socket sc) {//使用有参数构造方法将socket对象作为参数
         this.sc=sc;//将socket对象赋值给变量
    }
    @Override
    public void run() {//重写接口中的方法
        try {//
            BufferedReader br=new BufferedReader(new InputStreamReader(sc.getInputStream()));
            //创建字符缓冲输入流读取客户端发送的数据
            int count=0;//定义变量计数器
            File f=new File("UDP\\Q."+count+"text");
            //创建文件路径
            while(f.exists()){//使用while循环进行判断如果创建的文件目录已经存在计数器就加一
                count++;//
                f = new File("UDP\\Q." + count + "txet");//再次创建新的文件路径
            }
            BufferedWriter  bw=new BufferedWriter(new FileWriter(f));
            //创建字符缓冲和输出流对象将读取的数据写入到指定文件目录下
             String line;//定义读取数据的行数
             while((line=br.readLine())!=null){//
                 bw.write(line);//将读取的数据输出也就是写入到指定文件目录下
                 bw.newLine();//换行
                 bw.flush();//刷新
             }
             br.close();//关闭资源
             bw.close();//关闭资源
        } catch (IOException e) {//捕获异常，因为父类没有抛出异常，子类也无法抛出异常
            e.printStackTrace();//
        }
    }
}
